import http from "@/api";
import { ResultPageData } from "@/api/interface/index";

export namespace SysFile {
    export interface SysFileInsertVo {
        remark:string; // 备注
    }
    export interface SysFileUpdateVo {
        id:string; // 文件编号
        fileName:string; // 文件名称
        remark:string; // 备注
    }
    export interface SysFileSearchVo {
        fileName:string; // 文件名称
        fileType:number; // 文件类型 0-图片 1-视频
        fileSuffix:number; // 文件后缀名
        deleted:boolean; // 回收站标识
    }
    export interface SysFileOut {
        id:string; // 文件编号
        filePath:string; // 文件路径
        fileName:string; // 文件名称
        fileType:number; // 文件类型 0-图片 1-视频
        fileSuffix:number; // 文件后缀名
        createTime:Date; // 创建时间
        createUser:string; // 创建人
        updateTime:Date; // 修改时间
        updateUser:string; // 修改人
        remark:string; // 备注
    }
}

// 新增文件表
export const insertSysFile = (params: SysFile.SysFileInsertVo) => {
    return http.post("/admin/sysFile/insert", params);
};

// 删除文件表
export const deleteSysFile = (id: string) => {
    return http.delete("/admin/sysFile/delete",{id:id});
};

// 修改文件表
export const updateSysFile = (params: SysFile.SysFileUpdateVo) => {
    return http.post("/admin/sysFile/update", params);
};

// 根据Id获取文件表
export const getSysFileById = (id: string) => {
    return http.get<SysFile.SysFileOut>("/admin/sysFile/selectById", { id: id });
};

// 分页查询文件表
export const getSysFileList = (params: SysFile.SysFileSearchVo) => {
    return http.post<ResultPageData<SysFile.SysFileOut>>("/admin/sysFile/pageQuery", params);
};

// 恢复文件
export const recover = (id: string) => {
    return http.put("/admin/sysFile/recover?id="+id);
};

//删除文件
export const deleteFile = (id: string) => {
    return http.delete("/admin/sysFile/deleteFile?id="+id);
};

//清空回收站
export const deleteAllFile = () => {
    return http.delete("/admin/sysFile/deleteAllFile");
};